package com.dongjiantong.quarantine.serviceImpl;

import com.dongjiantong.mybatis.BaseService;
import com.dongjiantong.quarantine.model.SupervisionRecords;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

/**
 * Created by mz on 25/12/17.
 *
 */
public interface SupervisionRecordsReadService extends BaseService<SupervisionRecords>{


    /**
     * 查询单据详情
     * @param id 单据id
     * @return SupervisionRecords
     */
    SupervisionRecords findById(Long id);

    /**
     * 获取当前单据状态
     * @param id 单据主键id
     * @return Integer status
     */
    Integer findStatusById(Long id);

    /**
     * 养殖端的分页查询
     * @param pageNum 页码
     * @param pageSize 条数
     * @param map 参数
     * @return PageInfo<SupervisionRecords>
     */
    PageInfo<SupervisionRecords> pagingForFarm(Integer pageNum, Integer pageSize, Map<String, Object> map);

    /**
     * 政府端的分页查询
     * @param pageNum 页码
     * @param pageSize 条数
     * @param map 参数
     * @return PageInfo<SupervisionRecords>
     */
    PageInfo<SupervisionRecords> pagingForGovList(Integer pageNum, Integer pageSize, Map<String, Object> map);

    /**
     * 政府端的地图显示
     * @param map 参数
     * @return List<SupervisionRecords>
     */
    List<SupervisionRecords> findListForGovMap(Map<String, Object> map);

    /**
     * 政府端的地图显示
     * @param map 参数
     * @return List<SupervisionRecords>
     */
    List<SupervisionRecords> findListForGovMapByFarmId(Map<String, Object> map);

    /**
     * 政府端轨迹list的分页查询
     * @param pageNum 页码
     * @param pageSize 条数
     * @param map 参数
     * @return PageInfo<SupervisionRecords>
     */
    PageInfo<SupervisionRecords> pagingForGovTrace(Integer pageNum, Integer pageSize, Map<String, Object> map);

    List<Map<String , Object>> findUser(Map<String, Object> map);
}
